The present invention relates to spare storage allocation in storage arrays, and more specifically to dynamic unused storage reallocation as distributed spare storage.
RAID (Redundant Array of Independent Disks) arrays are known to have physical spares in the form of real disk drives that can be substituted into an array when a member of the array fails. If a RAID array is to be provided with maximum robustness, particularly in a setup where the number of physical drive maintenance sessions by a maintenance engineer is minimized, many spare drives may be provided in order to cover for multiple failures and a longer period of lights-off operation.
Raid arrays are usually set up with a fixed number of spares. Sending an engineer to change a drive is expensive so it is common to ‘batch’ up drive replacements. To enable this to be done it is advantageous to have multiple spare drives but if it turns out there are few failures all this space is wasted.
In distributed sparing, instead of a dedicated spare drive, a portion of each of the member drives is allocated to act as a logical spare area that, when combined together, acts as the equivalent of a spare drive. For example, if there is an array of N drives, then if each drive sets aside 1/Nth of its space towards a distributed spare, then when a drive fails, all remaining drives take part in the drive rebuild. With distributed spares there is the flexibility to minimize maintenance sessions, as spares are a logical configuration or geometry issue and not tied tightly to idle physical drives.